﻿<?xml version="1.0" encoding="utf-8"?>
<xsd:schema id="InstallerDefinitionSchema" targetNamespace="http://schemas.microsoft.com/dsltools/InstallerDefinition" elementFormDefault="qualified" xmlns="http://schemas.microsoft.com/dsltools/InstallerDefinition" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <!-- InstallerPackageModel -->
  <xsd:element name="installerPackageModel" type="InstallerPackageModel" />
  <xsd:complexType name="InstallerPackageModel">
    <xsd:sequence minOccurs="0" maxOccurs="1">
      <!-- Relationship: InstallerModelHasComponentPackage -->
      <xsd:element name="packages" minOccurs="0" maxOccurs="1">
        <xsd:annotation>
          <xsd:documentation>Instances of InstallerModelHasComponentPackage</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:choice minOccurs="0" maxOccurs="unbounded" >
              <xsd:element ref="installerModelHasComponentPackage">
                <xsd:annotation>
                  <xsd:documentation>[Relationship deriving from InstallerModelHasComponentPackage needs to be serialized in full-form]</xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element ref="componentPackage" >
                <xsd:annotation>
                  <xsd:documentation>[Target role-player]</xsd:documentation>
                </xsd:annotation>
              </xsd:element>
            </xsd:choice>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <!-- Relationship: InstallerPackageModelHasRequiredThirdPartyComponents -->
      <xsd:element name="requiredThirdPartyComponents" minOccurs="0" maxOccurs="1">
        <xsd:annotation>
          <xsd:documentation>Instances of InstallerPackageModelHasRequiredThirdPartyComponents</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:choice minOccurs="0" maxOccurs="unbounded" >
              <xsd:element ref="installerPackageModelHasRequiredThirdPartyComponents">
                <xsd:annotation>
                  <xsd:documentation>[Relationship deriving from InstallerPackageModelHasRequiredThirdPartyComponents needs to be serialized in full-form]</xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element ref="requiredComponent" >
                <xsd:annotation>
                  <xsd:documentation>[Target role-player]</xsd:documentation>
                </xsd:annotation>
              </xsd:element>
            </xsd:choice>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <!-- Relationship: InstallerPackageModelHasDefinitions -->
      <xsd:choice minOccurs="0" maxOccurs="1" >
        <xsd:element ref="installerPackageModelHasDefinitions">
          <xsd:annotation>
            <xsd:documentation>[Relationship deriving from InstallerPackageModelHasDefinitions needs to be serialized in full-form]</xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element ref="definitions" >
          <xsd:annotation>
            <xsd:documentation>[Target role-player]</xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:choice>
      <!-- Relationship: InstallerPackageModelHasApplicationHost -->
      <xsd:element name="applicationHost" minOccurs="0" maxOccurs="1">
        <xsd:annotation>
          <xsd:documentation>Instances of InstallerPackageModelHasApplicationHost</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:choice minOccurs="0" maxOccurs="unbounded" >
              <xsd:element ref="installerPackageModelHasApplicationHost">
                <xsd:annotation>
                  <xsd:documentation>[Relationship deriving from InstallerPackageModelHasApplicationHost needs to be serialized in full-form]</xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element ref="componentHost" >
                <xsd:annotation>
                  <xsd:documentation>[Target role-player]</xsd:documentation>
                </xsd:annotation>
              </xsd:element>
            </xsd:choice>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
    </xsd:sequence>
    <!-- Id -->
    <xsd:attribute name="Id" type="xsd:string">
      <xsd:annotation>
        <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
      </xsd:annotation>
    </xsd:attribute>
    <!-- dslVersion -->
    <xsd:attribute name="dslVersion" type="xsd:string">
      <xsd:annotation>
        <xsd:documentation>Version of the model serialized in this file.</xsd:documentation>
      </xsd:annotation>
    </xsd:attribute>
    <!-- Property: ProductUrl -->
    <xsd:attribute name="productUrl" type="xsd:string" />
    <!-- Property: DefaultDirectoryName -->
    <xsd:attribute name="defaultDirectoryName" type="xsd:string" />
    <!-- Property: ProductVersion -->
    <xsd:attribute name="productVersion" type="xsd:string" />
    <!-- Property: ProductCode -->
    <xsd:attribute name="productCode" type="xsd:string" />
    <!-- Property: UpgradeCode -->
    <xsd:attribute name="upgradeCode" type="xsd:string" />
    <!-- Property: LocaleId -->
    <xsd:attribute name="localeId" type="xsd:integer" />
    <!-- Property: CodePage -->
    <xsd:attribute name="codePage" type="xsd:integer" />
    <!-- Property: ProductHelpUrl -->
    <xsd:attribute name="productHelpUrl" type="xsd:string" />
    <!-- Property: ProductContact -->
    <xsd:attribute name="productContact" type="xsd:string" />
    <!-- Property: ProductName -->
    <xsd:attribute name="productName" type="xsd:string" />
    <!-- Property: Description -->
    <xsd:attribute name="description" type="xsd:string" />
    <!-- Property: Comments -->
    <xsd:attribute name="comments" type="xsd:string" />
    <!-- Property: Manufacture -->
    <xsd:attribute name="manufacture" type="xsd:string" />
    <!-- Property: CustomFragmentIds -->
    <xsd:attribute name="customFragmentIds" type="xsd:string" />
    <!-- Property: CustomWixUIIds -->
    <xsd:attribute name="customWixUIIds" type="xsd:string" />
  </xsd:complexType>
  
  <!-- InstallerPackageModel Moniker -->
  <xsd:element name="installerPackageModelMoniker" type="InstallerPackageModelMoniker" />
  <xsd:complexType name="InstallerPackageModelMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for InstallerPackageModel instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:attribute name="Id" type="xsd:string" >
      <xsd:annotation>
        <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
      </xsd:annotation>
    </xsd:attribute>
  </xsd:complexType>
  
  <!-- ComponentPackage -->
  <xsd:element name="componentPackage" type="ComponentPackage" substitutionGroup="namedElement" />
  <xsd:complexType name="ComponentPackage">
    <xsd:complexContent>
      <xsd:extension base="NamedElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Relationship: ComponentPackageHasIISApplications -->
          <xsd:choice minOccurs="0" maxOccurs="unbounded" >
            <xsd:element ref="componentPackageHasIISApplications">
              <xsd:annotation>
                <xsd:documentation>[Relationship deriving from ComponentPackageHasIISApplications needs to be serialized in full-form]</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element ref="webAspApplication" >
              <xsd:annotation>
                <xsd:documentation>[Target role-player]</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:choice>
          <!-- Relationship: ComponentPackageHasPTCustomizations -->
          <xsd:choice minOccurs="0" maxOccurs="unbounded" >
            <xsd:element ref="componentPackageHasPTCustomizations">
              <xsd:annotation>
                <xsd:documentation>[Relationship deriving from ComponentPackageHasPTCustomizations needs to be serialized in full-form]</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element ref="pTCustomization" >
              <xsd:annotation>
                <xsd:documentation>[Target role-player]</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:choice>
          <!-- Relationship: ComponentPackageHasTomcatWebApplications -->
          <xsd:choice minOccurs="0" maxOccurs="unbounded" >
            <xsd:element ref="componentPackageHasTomcatWebApplications">
              <xsd:annotation>
                <xsd:documentation>[Relationship deriving from ComponentPackageHasTomcatWebApplications needs to be serialized in full-form]</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element ref="javaWebApplication" >
              <xsd:annotation>
                <xsd:documentation>[Target role-player]</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:choice>
          <!-- Relationship: ComponentPackageHasPlumtreeImages -->
          <xsd:choice minOccurs="0" maxOccurs="unbounded" >
            <xsd:element ref="componentPackageHasPlumtreeImages">
              <xsd:annotation>
                <xsd:documentation>[Relationship deriving from ComponentPackageHasPlumtreeImages needs to be serialized in full-form]</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element ref="plumtreeImage" >
              <xsd:annotation>
                <xsd:documentation>[Target role-player]</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:choice>
          <!-- Relationship: ComponentPackageHasPackages -->
          <xsd:choice minOccurs="0" maxOccurs="unbounded" >
            <xsd:element ref="componentPackageHasPackages">
              <xsd:annotation>
                <xsd:documentation>[Relationship deriving from ComponentPackageHasPackages needs to be serialized in full-form]</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element ref="componentPackage" >
              <xsd:annotation>
                <xsd:documentation>[Target role-player]</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:choice>
          <!-- Relationship: ComponentPackageHasSupportFiles -->
          <xsd:choice minOccurs="0" maxOccurs="unbounded" >
            <xsd:element ref="componentPackageHasSupportFiles">
              <xsd:annotation>
                <xsd:documentation>[Relationship deriving from ComponentPackageHasSupportFiles needs to be serialized in full-form]</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element ref="supportFiles" >
              <xsd:annotation>
                <xsd:documentation>[Target role-player]</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:choice>
          <!-- Relationship: ComponentPackageHasWindowsServices -->
          <xsd:element name="windowsServices" minOccurs="0" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>Instances of ComponentPackageHasWindowsServices</xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
              <xsd:sequence>
                <xsd:choice minOccurs="0" maxOccurs="unbounded" >
                  <xsd:element ref="componentPackageHasWindowsServices">
                    <xsd:annotation>
                      <xsd:documentation>[Relationship deriving from ComponentPackageHasWindowsServices needs to be serialized in full-form]</xsd:documentation>
                    </xsd:annotation>
                  </xsd:element>
                  <xsd:element ref="windowsService" >
                    <xsd:annotation>
                      <xsd:documentation>[Target role-player]</xsd:documentation>
                    </xsd:annotation>
                  </xsd:element>
                </xsd:choice>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
        </xsd:sequence>
        <!-- Property: IsFeature -->
        <xsd:attribute name="isFeature" type="xsd:boolean" />
        <!-- Property: IsConfigurableDir -->
        <xsd:attribute name="isConfigurableDir" type="xsd:boolean" />
        <!-- Property: ConfigurableDirId -->
        <xsd:attribute name="configurableDirId" type="xsd:string" />
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- ComponentPackage Moniker -->
  <xsd:element name="componentPackageMoniker" type="ComponentPackageMoniker" substitutionGroup="namedElementMoniker" />
  <xsd:complexType name="ComponentPackageMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for ComponentPackage instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="NamedElementMoniker">
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- MSBuildProject -->
  <xsd:element name="mSBuildProject" type="MSBuildProject" substitutionGroup="componentFileSource" />
  <xsd:complexType name="MSBuildProject">
    <xsd:complexContent>
      <xsd:extension base="ComponentFileSource">
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
        <!-- Property: project -->
        <xsd:attribute name="project" type="xsd:string" />
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- MSBuildProject Moniker -->
  <xsd:element name="mSBuildProjectMoniker" type="MSBuildProjectMoniker" substitutionGroup="componentFileSourceMoniker" />
  <xsd:complexType name="MSBuildProjectMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for MSBuildProject instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="ComponentFileSourceMoniker">
        <xsd:attribute name="Id" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- FolderSource -->
  <xsd:element name="folderSource" type="FolderSource" substitutionGroup="componentFileSource" />
  <xsd:complexType name="FolderSource">
    <xsd:complexContent>
      <xsd:extension base="ComponentFileSource">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Relationship: FolderSourceReferencesFileSet -->
          <xsd:element name="fileSet" minOccurs="0" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>Instance of FolderSourceReferencesFileSet</xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
              <xsd:sequence>
                <xsd:choice minOccurs="0" maxOccurs="1" >
                  <xsd:element ref="folderSourceReferencesFileSet">
                    <xsd:annotation>
                      <xsd:documentation>[Relationship deriving from FolderSourceReferencesFileSet needs to be serialized in full-form]</xsd:documentation>
                    </xsd:annotation>
                  </xsd:element>
                  <xsd:element ref="fileSetMoniker" >
                    <xsd:annotation>
                      <xsd:documentation>[Target role-player]</xsd:documentation>
                    </xsd:annotation>
                  </xsd:element>
                </xsd:choice>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
        <!-- Property: path -->
        <xsd:attribute name="path" type="xsd:string" />
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- FolderSource Moniker -->
  <xsd:element name="folderSourceMoniker" type="FolderSourceMoniker" substitutionGroup="componentFileSourceMoniker" />
  <xsd:complexType name="FolderSourceMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for FolderSource instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="ComponentFileSourceMoniker">
        <xsd:attribute name="Id" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- MavenProject -->
  <xsd:element name="mavenProject" type="MavenProject" substitutionGroup="componentFileSource" />
  <xsd:complexType name="MavenProject">
    <xsd:complexContent>
      <xsd:extension base="ComponentFileSource">
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
        <!-- Property: pomPath -->
        <xsd:attribute name="pomPath" type="xsd:string" />
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- MavenProject Moniker -->
  <xsd:element name="mavenProjectMoniker" type="MavenProjectMoniker" substitutionGroup="componentFileSourceMoniker" />
  <xsd:complexType name="MavenProjectMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for MavenProject instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="ComponentFileSourceMoniker">
        <xsd:attribute name="Id" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- WebAspApplication -->
  <xsd:element name="webAspApplication" type="WebAspApplication" substitutionGroup="component" />
  <xsd:complexType name="WebAspApplication">
    <xsd:complexContent>
      <xsd:extension base="Component">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Relationship: IISHosted -->
          <xsd:element name="iIS" minOccurs="0" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>Instance of IISHosted</xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element ref="iISHosted" minOccurs="0" maxOccurs="1">
                  <xsd:annotation>
                    <xsd:documentation>[Instance of IISHosted needs to be serialized in full-form]</xsd:documentation>
                  </xsd:annotation>
                </xsd:element>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
        </xsd:sequence>
        <!-- Property: VirtualPath -->
        <xsd:attribute name="virtualPath" type="xsd:string" />
        <!-- Property: IsolationLevel -->
        <xsd:attribute name="isolationLevel" type="IISIsolationLevel" />
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- WebAspApplication Moniker -->
  <xsd:element name="webAspApplicationMoniker" type="WebAspApplicationMoniker" substitutionGroup="componentMoniker" />
  <xsd:complexType name="WebAspApplicationMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for WebAspApplication instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="ComponentMoniker">
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- PTCustomization -->
  <xsd:element name="pTCustomization" type="PTCustomization" substitutionGroup="component" />
  <xsd:complexType name="PTCustomization">
    <xsd:complexContent>
      <xsd:extension base="Component">
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- PTCustomization Moniker -->
  <xsd:element name="pTCustomizationMoniker" type="PTCustomizationMoniker" substitutionGroup="componentMoniker" />
  <xsd:complexType name="PTCustomizationMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for PTCustomization instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="ComponentMoniker">
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- JavaWebApplication -->
  <xsd:element name="javaWebApplication" type="JavaWebApplication" substitutionGroup="component" />
  <xsd:complexType name="JavaWebApplication">
    <xsd:complexContent>
      <xsd:extension base="Component">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Relationship: JavaWebHosted -->
          <xsd:element name="webContainer" minOccurs="0" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>Instance of JavaWebHosted</xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element ref="javaWebHosted" minOccurs="0" maxOccurs="1">
                  <xsd:annotation>
                    <xsd:documentation>[Instance of JavaWebHosted needs to be serialized in full-form]</xsd:documentation>
                  </xsd:annotation>
                </xsd:element>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
        </xsd:sequence>
        <!-- Property: VirtualPath -->
        <xsd:attribute name="virtualPath" type="xsd:string" />
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- JavaWebApplication Moniker -->
  <xsd:element name="javaWebApplicationMoniker" type="JavaWebApplicationMoniker" substitutionGroup="componentMoniker" />
  <xsd:complexType name="JavaWebApplicationMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for JavaWebApplication instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="ComponentMoniker">
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- PlumtreeImage -->
  <xsd:element name="plumtreeImage" type="PlumtreeImage" substitutionGroup="component" />
  <xsd:complexType name="PlumtreeImage">
    <xsd:complexContent>
      <xsd:extension base="Component">
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- PlumtreeImage Moniker -->
  <xsd:element name="plumtreeImageMoniker" type="PlumtreeImageMoniker" substitutionGroup="componentMoniker" />
  <xsd:complexType name="PlumtreeImageMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for PlumtreeImage instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="ComponentMoniker">
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- IISApplicationPool -->
  <xsd:element name="iISApplicationPool" type="IISApplicationPool" substitutionGroup="namedElement" />
  <xsd:complexType name="IISApplicationPool">
    <xsd:complexContent>
      <xsd:extension base="NamedElement">
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
        <!-- Property: Identity -->
        <xsd:attribute name="identity" type="IdentityType" />
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- IISApplicationPool Moniker -->
  <xsd:element name="iISApplicationPoolMoniker" type="IISApplicationPoolMoniker" substitutionGroup="namedElementMoniker" />
  <xsd:complexType name="IISApplicationPoolMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for IISApplicationPool instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="NamedElementMoniker">
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- VirtualDirectoryProperties -->
  <xsd:element name="virtualDirectoryProperties" type="VirtualDirectoryProperties" />
  <xsd:complexType name="VirtualDirectoryProperties">
    <!-- Id -->
    <xsd:attribute name="Id" type="xsd:string">
      <xsd:annotation>
        <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
      </xsd:annotation>
    </xsd:attribute>
    <!-- Property: BasicAuthentication -->
    <xsd:attribute name="basicAuthentication" type="xsd:boolean" />
    <!-- Property: WindowsAuthentication -->
    <xsd:attribute name="windowsAuthentication" type="xsd:boolean" />
    <!-- Property: LogVisits -->
    <xsd:attribute name="logVisits" type="xsd:boolean" />
    <!-- Property: Name -->
    <xsd:attribute name="name" type="xsd:string" use="required" />
    <!-- Property: Script -->
    <xsd:attribute name="script" type="xsd:boolean" />
    <!-- Property: Index -->
    <xsd:attribute name="index" type="xsd:boolean" />
    <!-- Property: Execute -->
    <xsd:attribute name="execute" type="xsd:boolean" />
    <!-- Property: AnonymousAccess -->
    <xsd:attribute name="anonymousAccess" type="xsd:boolean" />
    <!-- Property: DigestAuthentication -->
    <xsd:attribute name="digestAuthentication" type="xsd:boolean" />
    <!-- Property: PassportAuthentication -->
    <xsd:attribute name="passportAuthentication" type="xsd:boolean" />
    <!-- Property: Read -->
    <xsd:attribute name="read" type="xsd:boolean" />
  </xsd:complexType>
  
  <!-- VirtualDirectoryProperties Moniker -->
  <xsd:element name="virtualDirectoryPropertiesMoniker" type="VirtualDirectoryPropertiesMoniker" />
  <xsd:complexType name="VirtualDirectoryPropertiesMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for VirtualDirectoryProperties instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:attribute name="name" type="xsd:string" >
      <xsd:annotation>
        <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
      </xsd:annotation>
    </xsd:attribute>
  </xsd:complexType>
  
  <!-- AspNetWebFolderSource -->
  <xsd:element name="aspNetWebFolderSource" type="AspNetWebFolderSource" substitutionGroup="folderSource" />
  <xsd:complexType name="AspNetWebFolderSource">
    <xsd:complexContent>
      <xsd:extension base="FolderSource">
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- AspNetWebFolderSource Moniker -->
  <xsd:element name="aspNetWebFolderSourceMoniker" type="AspNetWebFolderSourceMoniker" substitutionGroup="folderSourceMoniker" />
  <xsd:complexType name="AspNetWebFolderSourceMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for AspNetWebFolderSource instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="FolderSourceMoniker">
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- Component -->
  <xsd:element name="component" abstract="true" type="Component" substitutionGroup="namedElement" />
  <xsd:complexType name="Component" abstract="true" >
    <xsd:complexContent>
      <xsd:extension base="NamedElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Relationship: ComponentHasComponentFileSource -->
          <xsd:element name="fileSource" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>Instance of ComponentHasComponentFileSource</xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
              <xsd:sequence>
                <xsd:choice minOccurs="1" maxOccurs="1" >
                  <xsd:element ref="componentHasComponentFileSource">
                    <xsd:annotation>
                      <xsd:documentation>[Relationship deriving from ComponentHasComponentFileSource needs to be serialized in full-form]</xsd:documentation>
                    </xsd:annotation>
                  </xsd:element>
                  <xsd:element ref="componentFileSource" >
                    <xsd:annotation>
                      <xsd:documentation>[Target role-player]</xsd:documentation>
                    </xsd:annotation>
                  </xsd:element>
                </xsd:choice>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
          <!-- Relationship: ComponentHasMsiProperty -->
          <xsd:element name="msiProperties" minOccurs="0" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>Instances of ComponentHasMsiProperty</xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
              <xsd:sequence>
                <xsd:choice minOccurs="0" maxOccurs="unbounded" >
                  <xsd:element ref="componentHasMsiProperty">
                    <xsd:annotation>
                      <xsd:documentation>[Relationship deriving from ComponentHasMsiProperty needs to be serialized in full-form]</xsd:documentation>
                    </xsd:annotation>
                  </xsd:element>
                  <xsd:element ref="msiProperty" >
                    <xsd:annotation>
                      <xsd:documentation>[Target role-player]</xsd:documentation>
                    </xsd:annotation>
                  </xsd:element>
                </xsd:choice>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- Component Moniker -->
  <xsd:element name="componentMoniker" abstract="true" type="ComponentMoniker" substitutionGroup="namedElementMoniker" />
  <xsd:complexType name="ComponentMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for Component instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="NamedElementMoniker">
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- FileSet -->
  <xsd:element name="fileSet" type="FileSet" />
  <xsd:complexType name="FileSet">
    <xsd:sequence minOccurs="0" maxOccurs="1">
      <!-- Relationship: FileSetHasInclude -->
      <xsd:choice minOccurs="0" maxOccurs="unbounded" >
        <xsd:element ref="fileSetHasInclude">
          <xsd:annotation>
            <xsd:documentation>[Relationship deriving from FileSetHasInclude needs to be serialized in full-form]</xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element ref="include" >
          <xsd:annotation>
            <xsd:documentation>[Target role-player]</xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:choice>
      <!-- Relationship: FileSetHasExclude -->
      <xsd:choice minOccurs="0" maxOccurs="unbounded" >
        <xsd:element ref="fileSetHasExclude">
          <xsd:annotation>
            <xsd:documentation>[Relationship deriving from FileSetHasExclude needs to be serialized in full-form]</xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element ref="exclude" >
          <xsd:annotation>
            <xsd:documentation>[Target role-player]</xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:choice>
    </xsd:sequence>
    <!-- Id -->
    <xsd:attribute name="Id" type="xsd:string">
      <xsd:annotation>
        <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
      </xsd:annotation>
    </xsd:attribute>
    <!-- Property: Name -->
    <xsd:attribute name="name" type="xsd:string" use="required" />
  </xsd:complexType>
  
  <!-- FileSet Moniker -->
  <xsd:element name="fileSetMoniker" type="FileSetMoniker" />
  <xsd:complexType name="FileSetMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for FileSet instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:attribute name="name" type="xsd:string" >
      <xsd:annotation>
        <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
      </xsd:annotation>
    </xsd:attribute>
  </xsd:complexType>
  
  <!-- Include -->
  <xsd:element name="include" type="Include" />
  <xsd:complexType name="Include">
    <!-- Property: pattern -->
    <xsd:attribute name="pattern" type="xsd:string" />
  </xsd:complexType>
  
  <!-- Include Moniker -->
  <xsd:element name="includeMoniker" abstract="true" type="IncludeMoniker" />
  <xsd:complexType name="IncludeMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for Include instance.</xsd:documentation>
    </xsd:annotation>
  </xsd:complexType>
  
  <!-- Exclude -->
  <xsd:element name="exclude" type="Exclude" />
  <xsd:complexType name="Exclude">
    <!-- Property: pattern -->
    <xsd:attribute name="pattern" type="xsd:string" />
  </xsd:complexType>
  
  <!-- Exclude Moniker -->
  <xsd:element name="excludeMoniker" abstract="true" type="ExcludeMoniker" />
  <xsd:complexType name="ExcludeMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for Exclude instance.</xsd:documentation>
    </xsd:annotation>
  </xsd:complexType>
  
  <!-- AspNetFileSet -->
  <xsd:element name="aspNetFileSet" type="AspNetFileSet" substitutionGroup="fileSet" />
  <xsd:complexType name="AspNetFileSet">
    <xsd:complexContent>
      <xsd:extension base="FileSet">
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- AspNetFileSet Moniker -->
  <xsd:element name="aspNetFileSetMoniker" type="AspNetFileSetMoniker" substitutionGroup="fileSetMoniker" />
  <xsd:complexType name="AspNetFileSetMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for AspNetFileSet instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="FileSetMoniker">
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- ComponentFileSource -->
  <xsd:element name="componentFileSource" abstract="true" type="ComponentFileSource" />
  <xsd:complexType name="ComponentFileSource" abstract="true" >
    <xsd:sequence minOccurs="0" maxOccurs="1">
      <!-- Relationship: ComponentFileSourceReferencesFileActions -->
      <xsd:element name="fileActions" minOccurs="0" maxOccurs="1">
        <xsd:annotation>
          <xsd:documentation>Instances of ComponentFileSourceReferencesFileActions</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:choice minOccurs="0" maxOccurs="unbounded" >
              <xsd:element ref="componentFileSourceReferencesFileActions">
                <xsd:annotation>
                  <xsd:documentation>[Relationship deriving from ComponentFileSourceReferencesFileActions needs to be serialized in full-form]</xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element ref="fileActionMoniker" >
                <xsd:annotation>
                  <xsd:documentation>[Target role-player]</xsd:documentation>
                </xsd:annotation>
              </xsd:element>
            </xsd:choice>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <!-- Relationship: ComponentFileSourceReferencesPermanentFileSet -->
      <xsd:element name="permanentFileSet" minOccurs="0" maxOccurs="1">
        <xsd:annotation>
          <xsd:documentation>Instance of ComponentFileSourceReferencesPermanentFileSet</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:choice minOccurs="0" maxOccurs="1" >
              <xsd:element ref="componentFileSourceReferencesPermanentFileSet">
                <xsd:annotation>
                  <xsd:documentation>[Relationship deriving from ComponentFileSourceReferencesPermanentFileSet needs to be serialized in full-form]</xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element ref="fileSetMoniker" >
                <xsd:annotation>
                  <xsd:documentation>[Target role-player]</xsd:documentation>
                </xsd:annotation>
              </xsd:element>
            </xsd:choice>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <!-- Relationship: ComponentFileSourceReferencesInstallUtilFileSet -->
      <xsd:element name="installUtilFileSet" minOccurs="0" maxOccurs="1">
        <xsd:annotation>
          <xsd:documentation>Instance of ComponentFileSourceReferencesInstallUtilFileSet</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:choice minOccurs="0" maxOccurs="1" >
              <xsd:element ref="componentFileSourceReferencesInstallUtilFileSet">
                <xsd:annotation>
                  <xsd:documentation>[Relationship deriving from ComponentFileSourceReferencesInstallUtilFileSet needs to be serialized in full-form]</xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element ref="fileSetMoniker" >
                <xsd:annotation>
                  <xsd:documentation>[Target role-player]</xsd:documentation>
                </xsd:annotation>
              </xsd:element>
            </xsd:choice>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <!-- Relationship: ComponentFileSourceReferencesGacFileSet -->
      <xsd:element name="gacFileSet" minOccurs="0" maxOccurs="1">
        <xsd:annotation>
          <xsd:documentation>Instance of ComponentFileSourceReferencesGacFileSet</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:choice minOccurs="0" maxOccurs="1" >
              <xsd:element ref="componentFileSourceReferencesGacFileSet">
                <xsd:annotation>
                  <xsd:documentation>[Relationship deriving from ComponentFileSourceReferencesGacFileSet needs to be serialized in full-form]</xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element ref="fileSetMoniker" >
                <xsd:annotation>
                  <xsd:documentation>[Target role-player]</xsd:documentation>
                </xsd:annotation>
              </xsd:element>
            </xsd:choice>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  
  <!-- ComponentFileSource Moniker -->
  <xsd:element name="componentFileSourceMoniker" abstract="true" type="ComponentFileSourceMoniker" />
  <xsd:complexType name="ComponentFileSourceMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for ComponentFileSource instance.</xsd:documentation>
    </xsd:annotation>
  </xsd:complexType>
  
  <!-- RequiredComponent -->
  <xsd:element name="requiredComponent" abstract="true" type="RequiredComponent" />
  <xsd:complexType name="RequiredComponent" abstract="true" >
  </xsd:complexType>
  
  <!-- RequiredComponent Moniker -->
  <xsd:element name="requiredComponentMoniker" abstract="true" type="RequiredComponentMoniker" />
  <xsd:complexType name="RequiredComponentMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for RequiredComponent instance.</xsd:documentation>
    </xsd:annotation>
  </xsd:complexType>
  
  <!-- NamedElement -->
  <xsd:element name="namedElement" abstract="true" type="NamedElement" />
  <xsd:complexType name="NamedElement" abstract="true" >
    <!-- Property: Name -->
    <xsd:attribute name="name" type="xsd:string" use="required" />
    <!-- Property: Description -->
    <xsd:attribute name="description" type="xsd:string" />
    <!-- Property: Title -->
    <xsd:attribute name="title" type="xsd:string" >
      <xsd:annotation>
        <xsd:documentation>Friendly name of the element.</xsd:documentation>
      </xsd:annotation>
    </xsd:attribute>
  </xsd:complexType>
  
  <!-- NamedElement Moniker -->
  <xsd:element name="namedElementMoniker" abstract="true" type="NamedElementMoniker" />
  <xsd:complexType name="NamedElementMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for NamedElement instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:attribute name="name" type="xsd:string" >
      <xsd:annotation>
        <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
      </xsd:annotation>
    </xsd:attribute>
  </xsd:complexType>
  
  <!-- FileAction -->
  <xsd:element name="fileAction" abstract="true" type="FileAction" />
  <xsd:complexType name="FileAction" abstract="true" >
    <xsd:sequence minOccurs="0" maxOccurs="1">
      <!-- Relationship: FileActionReferencesFileSet -->
      <xsd:element name="fileSet" minOccurs="0" maxOccurs="1">
        <xsd:annotation>
          <xsd:documentation>Instance of FileActionReferencesFileSet</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:choice minOccurs="0" maxOccurs="1" >
              <xsd:element ref="fileActionReferencesFileSet">
                <xsd:annotation>
                  <xsd:documentation>[Relationship deriving from FileActionReferencesFileSet needs to be serialized in full-form]</xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element ref="fileSetMoniker" >
                <xsd:annotation>
                  <xsd:documentation>[Target role-player]</xsd:documentation>
                </xsd:annotation>
              </xsd:element>
            </xsd:choice>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
    </xsd:sequence>
    <!-- Property: Name -->
    <xsd:attribute name="name" type="xsd:string" use="required" />
  </xsd:complexType>
  
  <!-- FileAction Moniker -->
  <xsd:element name="fileActionMoniker" abstract="true" type="FileActionMoniker" />
  <xsd:complexType name="FileActionMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for FileAction instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:attribute name="name" type="xsd:string" >
      <xsd:annotation>
        <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
      </xsd:annotation>
    </xsd:attribute>
  </xsd:complexType>
  
  <!-- TockenReplacement -->
  <xsd:element name="tockenReplacement" type="TockenReplacement" substitutionGroup="fileAction" />
  <xsd:complexType name="TockenReplacement">
    <xsd:complexContent>
      <xsd:extension base="FileAction">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Relationship: TockenReplacementReferencesTokens -->
          <xsd:element name="tokens" minOccurs="0" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>Instances of TockenReplacementReferencesTokens</xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
              <xsd:sequence>
                <xsd:choice minOccurs="0" maxOccurs="unbounded" >
                  <xsd:element ref="tockenReplacementReferencesTokens">
                    <xsd:annotation>
                      <xsd:documentation>[Relationship deriving from TockenReplacementReferencesTokens needs to be serialized in full-form]</xsd:documentation>
                    </xsd:annotation>
                  </xsd:element>
                  <xsd:element ref="tokenValueMoniker" >
                    <xsd:annotation>
                      <xsd:documentation>[Target role-player]</xsd:documentation>
                    </xsd:annotation>
                  </xsd:element>
                </xsd:choice>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- TockenReplacement Moniker -->
  <xsd:element name="tockenReplacementMoniker" type="TockenReplacementMoniker" substitutionGroup="fileActionMoniker" />
  <xsd:complexType name="TockenReplacementMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for TockenReplacement instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="FileActionMoniker">
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- XPathReplacement -->
  <xsd:element name="xPathReplacement" type="XPathReplacement" substitutionGroup="fileAction" />
  <xsd:complexType name="XPathReplacement">
    <xsd:complexContent>
      <xsd:extension base="FileAction">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Relationship: XPathReplacementReferencesXPaths -->
          <xsd:element name="xPaths" minOccurs="0" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>Instances of XPathReplacementReferencesXPaths</xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
              <xsd:sequence>
                <xsd:choice minOccurs="0" maxOccurs="unbounded" >
                  <xsd:element ref="xPathReplacementReferencesXPaths">
                    <xsd:annotation>
                      <xsd:documentation>[Relationship deriving from XPathReplacementReferencesXPaths needs to be serialized in full-form]</xsd:documentation>
                    </xsd:annotation>
                  </xsd:element>
                  <xsd:element ref="xPathValueMoniker" >
                    <xsd:annotation>
                      <xsd:documentation>[Target role-player]</xsd:documentation>
                    </xsd:annotation>
                  </xsd:element>
                </xsd:choice>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- XPathReplacement Moniker -->
  <xsd:element name="xPathReplacementMoniker" type="XPathReplacementMoniker" substitutionGroup="fileActionMoniker" />
  <xsd:complexType name="XPathReplacementMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for XPathReplacement instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="FileActionMoniker">
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- TokenValue -->
  <xsd:element name="tokenValue" type="TokenValue" />
  <xsd:complexType name="TokenValue">
    <xsd:sequence minOccurs="0" maxOccurs="1">
      <!-- Relationship: TokenValueReferencesProperty -->
      <xsd:element name="property" minOccurs="0" maxOccurs="1">
        <xsd:annotation>
          <xsd:documentation>Instance of TokenValueReferencesProperty</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:choice minOccurs="0" maxOccurs="1" >
              <xsd:element ref="tokenValueReferencesProperty">
                <xsd:annotation>
                  <xsd:documentation>[Relationship deriving from TokenValueReferencesProperty needs to be serialized in full-form]</xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element ref="msiPropertyMoniker" >
                <xsd:annotation>
                  <xsd:documentation>[Target role-player]</xsd:documentation>
                </xsd:annotation>
              </xsd:element>
            </xsd:choice>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
    </xsd:sequence>
    <!-- Id -->
    <xsd:attribute name="Id" type="xsd:string">
      <xsd:annotation>
        <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
      </xsd:annotation>
    </xsd:attribute>
    <!-- Property: Token -->
    <xsd:attribute name="token" type="xsd:string" />
    <!-- Property: Value -->
    <xsd:attribute name="value" type="xsd:string" />
    <!-- Property: Name -->
    <xsd:attribute name="name" type="xsd:string" use="required" />
  </xsd:complexType>
  
  <!-- TokenValue Moniker -->
  <xsd:element name="tokenValueMoniker" type="TokenValueMoniker" />
  <xsd:complexType name="TokenValueMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for TokenValue instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:attribute name="name" type="xsd:string" >
      <xsd:annotation>
        <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
      </xsd:annotation>
    </xsd:attribute>
  </xsd:complexType>
  
  <!-- XPathValue -->
  <xsd:element name="xPathValue" type="XPathValue" />
  <xsd:complexType name="XPathValue">
    <xsd:sequence minOccurs="0" maxOccurs="1">
      <!-- Property: ElementXPath -->
      <xsd:element name="elementXPath" type="xsd:string" minOccurs="0" maxOccurs="1" />
      <!-- Property: Value -->
      <xsd:element name="value" type="xsd:string" minOccurs="0" maxOccurs="1" />
      <!-- Relationship: XPathValueReferencesProperty -->
      <xsd:element name="property" minOccurs="0" maxOccurs="1">
        <xsd:annotation>
          <xsd:documentation>Instance of XPathValueReferencesProperty</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:choice minOccurs="0" maxOccurs="1" >
              <xsd:element ref="xPathValueReferencesProperty">
                <xsd:annotation>
                  <xsd:documentation>[Relationship deriving from XPathValueReferencesProperty needs to be serialized in full-form]</xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element ref="msiPropertyMoniker" >
                <xsd:annotation>
                  <xsd:documentation>[Target role-player]</xsd:documentation>
                </xsd:annotation>
              </xsd:element>
            </xsd:choice>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
    </xsd:sequence>
    <!-- Property: Namespace -->
    <xsd:attribute name="namespace" type="xsd:string" />
    <!-- Property: NameSpaceAlias -->
    <xsd:attribute name="nameSpaceAlias" type="xsd:string" />
    <!-- Property: AttributeName -->
    <xsd:attribute name="attributeName" type="xsd:string" />
    <!-- Property: Name -->
    <xsd:attribute name="name" type="xsd:string" use="required" />
  </xsd:complexType>
  
  <!-- XPathValue Moniker -->
  <xsd:element name="xPathValueMoniker" type="XPathValueMoniker" />
  <xsd:complexType name="XPathValueMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for XPathValue instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:attribute name="name" type="xsd:string" >
      <xsd:annotation>
        <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
      </xsd:annotation>
    </xsd:attribute>
  </xsd:complexType>
  
  <!-- Definitions -->
  <xsd:element name="definitions" type="Definitions" />
  <xsd:complexType name="Definitions">
    <xsd:sequence minOccurs="0" maxOccurs="1">
      <!-- Relationship: DefinitionsHasFileSets -->
      <xsd:element name="fileSets" minOccurs="0" maxOccurs="1">
        <xsd:annotation>
          <xsd:documentation>Instances of DefinitionsHasFileSets</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:choice minOccurs="0" maxOccurs="unbounded" >
              <xsd:element ref="definitionsHasFileSets">
                <xsd:annotation>
                  <xsd:documentation>[Relationship deriving from DefinitionsHasFileSets needs to be serialized in full-form]</xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element ref="fileSet" >
                <xsd:annotation>
                  <xsd:documentation>[Target role-player]</xsd:documentation>
                </xsd:annotation>
              </xsd:element>
            </xsd:choice>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <!-- Relationship: DefinitionsHasFileActions -->
      <xsd:element name="fileActions" minOccurs="0" maxOccurs="1">
        <xsd:annotation>
          <xsd:documentation>Instances of DefinitionsHasFileActions</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:choice minOccurs="0" maxOccurs="unbounded" >
              <xsd:element ref="definitionsHasFileActions">
                <xsd:annotation>
                  <xsd:documentation>[Relationship deriving from DefinitionsHasFileActions needs to be serialized in full-form]</xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element ref="fileAction" >
                <xsd:annotation>
                  <xsd:documentation>[Target role-player]</xsd:documentation>
                </xsd:annotation>
              </xsd:element>
            </xsd:choice>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <!-- Relationship: DefinitionsHasTokens -->
      <xsd:element name="tokens" minOccurs="0" maxOccurs="1">
        <xsd:annotation>
          <xsd:documentation>Instances of DefinitionsHasTokens</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:choice minOccurs="0" maxOccurs="unbounded" >
              <xsd:element ref="definitionsHasTokens">
                <xsd:annotation>
                  <xsd:documentation>[Relationship deriving from DefinitionsHasTokens needs to be serialized in full-form]</xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element ref="tokenValue" >
                <xsd:annotation>
                  <xsd:documentation>[Target role-player]</xsd:documentation>
                </xsd:annotation>
              </xsd:element>
            </xsd:choice>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <!-- Relationship: DefinitionsHasXPaths -->
      <xsd:element name="xPaths" minOccurs="0" maxOccurs="1">
        <xsd:annotation>
          <xsd:documentation>Instances of DefinitionsHasXPaths</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:choice minOccurs="0" maxOccurs="unbounded" >
              <xsd:element ref="definitionsHasXPaths">
                <xsd:annotation>
                  <xsd:documentation>[Relationship deriving from DefinitionsHasXPaths needs to be serialized in full-form]</xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element ref="xPathValue" >
                <xsd:annotation>
                  <xsd:documentation>[Target role-player]</xsd:documentation>
                </xsd:annotation>
              </xsd:element>
            </xsd:choice>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <!-- Relationship: DefinitionsHasVirtualDirectoryProperties -->
      <xsd:element name="virtualDirectoryProperties" minOccurs="0" maxOccurs="1">
        <xsd:annotation>
          <xsd:documentation>Instances of DefinitionsHasVirtualDirectoryProperties</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:choice minOccurs="0" maxOccurs="unbounded" >
              <xsd:element ref="definitionsHasVirtualDirectoryProperties">
                <xsd:annotation>
                  <xsd:documentation>[Relationship deriving from DefinitionsHasVirtualDirectoryProperties needs to be serialized in full-form]</xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element ref="virtualDirectoryProperties" >
                <xsd:annotation>
                  <xsd:documentation>[Target role-player]</xsd:documentation>
                </xsd:annotation>
              </xsd:element>
            </xsd:choice>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <!-- Relationship: DefinitionsHasMsiProperties -->
      <xsd:element name="msiProperties" minOccurs="0" maxOccurs="1">
        <xsd:annotation>
          <xsd:documentation>Instances of DefinitionsHasMsiProperties</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:choice minOccurs="0" maxOccurs="unbounded" >
              <xsd:element ref="definitionsHasMsiProperties">
                <xsd:annotation>
                  <xsd:documentation>[Relationship deriving from DefinitionsHasMsiProperties needs to be serialized in full-form]</xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element ref="msiProperty" >
                <xsd:annotation>
                  <xsd:documentation>[Target role-player]</xsd:documentation>
                </xsd:annotation>
              </xsd:element>
            </xsd:choice>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  
  <!-- Definitions Moniker -->
  <xsd:element name="definitionsMoniker" abstract="true" type="DefinitionsMoniker" />
  <xsd:complexType name="DefinitionsMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for Definitions instance.</xsd:documentation>
    </xsd:annotation>
  </xsd:complexType>
  
  <!-- WebSite -->
  <xsd:element name="webSite" type="WebSite" substitutionGroup="namedElement" />
  <xsd:complexType name="WebSite">
    <xsd:complexContent>
      <xsd:extension base="NamedElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Relationship: WebSiteReferencesDirProperties -->
          <xsd:choice minOccurs="0" maxOccurs="1" >
            <xsd:element ref="webSiteReferencesDirProperties">
              <xsd:annotation>
                <xsd:documentation>[Relationship deriving from WebSiteReferencesDirProperties needs to be serialized in full-form]</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element ref="virtualDirectoryPropertiesMoniker" >
              <xsd:annotation>
                <xsd:documentation>[Target role-player]</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:choice>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
        <!-- Property: Port -->
        <xsd:attribute name="port" type="xsd:integer" />
        <!-- Property: Directory -->
        <xsd:attribute name="directory" type="xsd:string" />
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- WebSite Moniker -->
  <xsd:element name="webSiteMoniker" type="WebSiteMoniker" substitutionGroup="namedElementMoniker" />
  <xsd:complexType name="WebSiteMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for WebSite instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="NamedElementMoniker">
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- MsiProperty -->
  <xsd:element name="msiProperty" type="MsiProperty" />
  <xsd:complexType name="MsiProperty">
    <!-- Id -->
    <xsd:attribute name="Id" type="xsd:string">
      <xsd:annotation>
        <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
      </xsd:annotation>
    </xsd:attribute>
    <!-- Property: PropertyId -->
    <xsd:attribute name="propertyId" type="xsd:string" use="required" />
    <!-- Property: DefaultValue -->
    <xsd:attribute name="defaultValue" type="xsd:string" />
  </xsd:complexType>
  
  <!-- MsiProperty Moniker -->
  <xsd:element name="msiPropertyMoniker" type="MsiPropertyMoniker" />
  <xsd:complexType name="MsiPropertyMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for MsiProperty instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:attribute name="propertyId" type="xsd:string" >
      <xsd:annotation>
        <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
      </xsd:annotation>
    </xsd:attribute>
  </xsd:complexType>
  
  <!-- ComponentHost -->
  <xsd:element name="componentHost" abstract="true" type="ComponentHost" substitutionGroup="namedElement" />
  <xsd:complexType name="ComponentHost" abstract="true" >
    <xsd:complexContent>
      <xsd:extension base="NamedElement">
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- ComponentHost Moniker -->
  <xsd:element name="componentHostMoniker" abstract="true" type="ComponentHostMoniker" substitutionGroup="namedElementMoniker" />
  <xsd:complexType name="ComponentHostMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for ComponentHost instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="NamedElementMoniker">
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- IIS -->
  <xsd:element name="iIS" type="IIS" substitutionGroup="componentHost" />
  <xsd:complexType name="IIS">
    <xsd:complexContent>
      <xsd:extension base="ComponentHost">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Relationship: IISHasAppPools -->
          <xsd:element name="appPools" minOccurs="0" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>Instances of IISHasAppPools</xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
              <xsd:sequence>
                <xsd:choice minOccurs="0" maxOccurs="unbounded" >
                  <xsd:element ref="iISHasAppPools">
                    <xsd:annotation>
                      <xsd:documentation>[Relationship deriving from IISHasAppPools needs to be serialized in full-form]</xsd:documentation>
                    </xsd:annotation>
                  </xsd:element>
                  <xsd:element ref="iISApplicationPool" >
                    <xsd:annotation>
                      <xsd:documentation>[Target role-player]</xsd:documentation>
                    </xsd:annotation>
                  </xsd:element>
                </xsd:choice>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
          <!-- Relationship: IISHasWebSites -->
          <xsd:element name="webSites" minOccurs="0" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>Instances of IISHasWebSites</xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
              <xsd:sequence>
                <xsd:choice minOccurs="0" maxOccurs="unbounded" >
                  <xsd:element ref="iISHasWebSites">
                    <xsd:annotation>
                      <xsd:documentation>[Relationship deriving from IISHasWebSites needs to be serialized in full-form]</xsd:documentation>
                    </xsd:annotation>
                  </xsd:element>
                  <xsd:element ref="webSite" >
                    <xsd:annotation>
                      <xsd:documentation>[Target role-player]</xsd:documentation>
                    </xsd:annotation>
                  </xsd:element>
                </xsd:choice>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- IIS Moniker -->
  <xsd:element name="iISMoniker" type="IISMoniker" substitutionGroup="componentHostMoniker" />
  <xsd:complexType name="IISMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for IIS instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="ComponentHostMoniker">
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- JavaWebContainer -->
  <xsd:element name="javaWebContainer" type="JavaWebContainer" substitutionGroup="componentHost" />
  <xsd:complexType name="JavaWebContainer">
    <xsd:complexContent>
      <xsd:extension base="ComponentHost">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Relationship: JavaWebContainerHasLibs -->
          <xsd:element name="libs" minOccurs="0" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>Instances of JavaWebContainerHasLibs</xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element ref="javaWebContainerHasLibs" minOccurs="0" maxOccurs="unbounded">
                  <xsd:annotation>
                    <xsd:documentation>[Instance of JavaWebContainerHasLibs needs to be serialized in full-form]</xsd:documentation>
                  </xsd:annotation>
                </xsd:element>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- JavaWebContainer Moniker -->
  <xsd:element name="javaWebContainerMoniker" type="JavaWebContainerMoniker" substitutionGroup="componentHostMoniker" />
  <xsd:complexType name="JavaWebContainerMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for JavaWebContainer instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="ComponentHostMoniker">
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- SupportFiles -->
  <xsd:element name="supportFiles" type="SupportFiles" substitutionGroup="component" />
  <xsd:complexType name="SupportFiles">
    <xsd:complexContent>
      <xsd:extension base="Component">
        <!-- Property: TargetDirectory -->
        <xsd:attribute name="targetDirectory" type="xsd:string" />
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- SupportFiles Moniker -->
  <xsd:element name="supportFilesMoniker" type="SupportFilesMoniker" substitutionGroup="componentMoniker" />
  <xsd:complexType name="SupportFilesMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for SupportFiles instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="ComponentMoniker">
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- WindowsService -->
  <xsd:element name="windowsService" type="WindowsService" substitutionGroup="component" />
  <xsd:complexType name="WindowsService">
    <xsd:complexContent>
      <xsd:extension base="Component">
        <!-- Property: ServiceFileName -->
        <xsd:attribute name="serviceFileName" type="xsd:string" />
        <!-- Property: Identity -->
        <xsd:attribute name="identity" type="IdentityType" />
        <!-- Property: Start -->
        <xsd:attribute name="start" type="ServiceStartType" />
        <!-- Property: DisplayName -->
        <xsd:attribute name="displayName" type="xsd:string" />
        <!-- Property: ServiceName -->
        <xsd:attribute name="serviceName" type="xsd:string" />
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- WindowsService Moniker -->
  <xsd:element name="windowsServiceMoniker" type="WindowsServiceMoniker" substitutionGroup="componentMoniker" />
  <xsd:complexType name="WindowsServiceMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for WindowsService instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="ComponentMoniker">
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- InstallerModelHasComponentPackage -->
  <xsd:element name="installerModelHasComponentPackage" abstract="true" type="InstallerModelHasComponentPackage" />
  <xsd:complexType name="InstallerModelHasComponentPackage" abstract="true" >
    <xsd:sequence minOccurs="0" maxOccurs="1">
      <!-- Target end ComponentPackage -->
      <xsd:element ref="componentPackage" minOccurs="1" maxOccurs="1">
        <xsd:annotation>
          <xsd:documentation>[Target role-player]</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  
  <!-- InstallerModelHasComponentPackage Moniker -->
  <xsd:element name="installerModelHasComponentPackageMoniker" abstract="true" type="InstallerModelHasComponentPackageMoniker" />
  <xsd:complexType name="InstallerModelHasComponentPackageMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for InstallerModelHasComponentPackage instance.</xsd:documentation>
    </xsd:annotation>
  </xsd:complexType>
  
  <!-- ComponentPackageHasIISApplications -->
  <xsd:element name="componentPackageHasIISApplications" abstract="true" type="ComponentPackageHasIISApplications" substitutionGroup="componentPackageHasComponents" />
  <xsd:complexType name="ComponentPackageHasIISApplications" abstract="true" >
    <xsd:complexContent>
      <xsd:extension base="ComponentPackageHasComponents">
        <xsd:sequence minOccurs="0" maxOccurs="1">
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- ComponentPackageHasIISApplications Moniker -->
  <xsd:element name="componentPackageHasIISApplicationsMoniker" abstract="true" type="ComponentPackageHasIISApplicationsMoniker" substitutionGroup="componentPackageHasComponentsMoniker" />
  <xsd:complexType name="ComponentPackageHasIISApplicationsMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for ComponentPackageHasIISApplications instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="ComponentPackageHasComponentsMoniker">
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- ComponentPackageHasPTCustomizations -->
  <xsd:element name="componentPackageHasPTCustomizations" abstract="true" type="ComponentPackageHasPTCustomizations" substitutionGroup="componentPackageHasComponents" />
  <xsd:complexType name="ComponentPackageHasPTCustomizations" abstract="true" >
    <xsd:complexContent>
      <xsd:extension base="ComponentPackageHasComponents">
        <xsd:sequence minOccurs="0" maxOccurs="1">
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- ComponentPackageHasPTCustomizations Moniker -->
  <xsd:element name="componentPackageHasPTCustomizationsMoniker" abstract="true" type="ComponentPackageHasPTCustomizationsMoniker" substitutionGroup="componentPackageHasComponentsMoniker" />
  <xsd:complexType name="ComponentPackageHasPTCustomizationsMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for ComponentPackageHasPTCustomizations instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="ComponentPackageHasComponentsMoniker">
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- ComponentPackageHasTomcatWebApplications -->
  <xsd:element name="componentPackageHasTomcatWebApplications" abstract="true" type="ComponentPackageHasTomcatWebApplications" substitutionGroup="componentPackageHasComponents" />
  <xsd:complexType name="ComponentPackageHasTomcatWebApplications" abstract="true" >
    <xsd:complexContent>
      <xsd:extension base="ComponentPackageHasComponents">
        <xsd:sequence minOccurs="0" maxOccurs="1">
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- ComponentPackageHasTomcatWebApplications Moniker -->
  <xsd:element name="componentPackageHasTomcatWebApplicationsMoniker" abstract="true" type="ComponentPackageHasTomcatWebApplicationsMoniker" substitutionGroup="componentPackageHasComponentsMoniker" />
  <xsd:complexType name="ComponentPackageHasTomcatWebApplicationsMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for ComponentPackageHasTomcatWebApplications instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="ComponentPackageHasComponentsMoniker">
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- ComponentPackageHasPlumtreeImages -->
  <xsd:element name="componentPackageHasPlumtreeImages" abstract="true" type="ComponentPackageHasPlumtreeImages" substitutionGroup="componentPackageHasComponents" />
  <xsd:complexType name="ComponentPackageHasPlumtreeImages" abstract="true" >
    <xsd:complexContent>
      <xsd:extension base="ComponentPackageHasComponents">
        <xsd:sequence minOccurs="0" maxOccurs="1">
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- ComponentPackageHasPlumtreeImages Moniker -->
  <xsd:element name="componentPackageHasPlumtreeImagesMoniker" abstract="true" type="ComponentPackageHasPlumtreeImagesMoniker" substitutionGroup="componentPackageHasComponentsMoniker" />
  <xsd:complexType name="ComponentPackageHasPlumtreeImagesMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for ComponentPackageHasPlumtreeImages instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="ComponentPackageHasComponentsMoniker">
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- FileSetHasInclude -->
  <xsd:element name="fileSetHasInclude" abstract="true" type="FileSetHasInclude" />
  <xsd:complexType name="FileSetHasInclude" abstract="true" >
    <xsd:sequence minOccurs="0" maxOccurs="1">
      <!-- Target end Include -->
      <xsd:element ref="include" minOccurs="1" maxOccurs="1">
        <xsd:annotation>
          <xsd:documentation>[Target role-player]</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  
  <!-- FileSetHasInclude Moniker -->
  <xsd:element name="fileSetHasIncludeMoniker" abstract="true" type="FileSetHasIncludeMoniker" />
  <xsd:complexType name="FileSetHasIncludeMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for FileSetHasInclude instance.</xsd:documentation>
    </xsd:annotation>
  </xsd:complexType>
  
  <!-- FileSetHasExclude -->
  <xsd:element name="fileSetHasExclude" abstract="true" type="FileSetHasExclude" />
  <xsd:complexType name="FileSetHasExclude" abstract="true" >
    <xsd:sequence minOccurs="0" maxOccurs="1">
      <!-- Target end Exclude -->
      <xsd:element ref="exclude" minOccurs="1" maxOccurs="1">
        <xsd:annotation>
          <xsd:documentation>[Target role-player]</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  
  <!-- FileSetHasExclude Moniker -->
  <xsd:element name="fileSetHasExcludeMoniker" abstract="true" type="FileSetHasExcludeMoniker" />
  <xsd:complexType name="FileSetHasExcludeMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for FileSetHasExclude instance.</xsd:documentation>
    </xsd:annotation>
  </xsd:complexType>
  
  <!-- ComponentHasComponentFileSource -->
  <xsd:element name="componentHasComponentFileSource" abstract="true" type="ComponentHasComponentFileSource" />
  <xsd:complexType name="ComponentHasComponentFileSource" abstract="true" >
    <xsd:sequence minOccurs="0" maxOccurs="1">
      <!-- Target end ComponentFileSource -->
      <xsd:element ref="componentFileSource" minOccurs="1" maxOccurs="1">
        <xsd:annotation>
          <xsd:documentation>[Target role-player]</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  
  <!-- ComponentHasComponentFileSource Moniker -->
  <xsd:element name="componentHasComponentFileSourceMoniker" abstract="true" type="ComponentHasComponentFileSourceMoniker" />
  <xsd:complexType name="ComponentHasComponentFileSourceMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for ComponentHasComponentFileSource instance.</xsd:documentation>
    </xsd:annotation>
  </xsd:complexType>
  
  <!-- InstallerPackageModelHasRequiredThirdPartyComponents -->
  <xsd:element name="installerPackageModelHasRequiredThirdPartyComponents" abstract="true" type="InstallerPackageModelHasRequiredThirdPartyComponents" />
  <xsd:complexType name="InstallerPackageModelHasRequiredThirdPartyComponents" abstract="true" >
    <xsd:sequence minOccurs="0" maxOccurs="1">
      <!-- Target end RequiredComponent -->
      <xsd:element ref="requiredComponent" minOccurs="1" maxOccurs="1">
        <xsd:annotation>
          <xsd:documentation>[Target role-player]</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  
  <!-- InstallerPackageModelHasRequiredThirdPartyComponents Moniker -->
  <xsd:element name="installerPackageModelHasRequiredThirdPartyComponentsMoniker" abstract="true" type="InstallerPackageModelHasRequiredThirdPartyComponentsMoniker" />
  <xsd:complexType name="InstallerPackageModelHasRequiredThirdPartyComponentsMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for InstallerPackageModelHasRequiredThirdPartyComponents instance.</xsd:documentation>
    </xsd:annotation>
  </xsd:complexType>
  
  <!-- ComponentPackageHasPackages -->
  <xsd:element name="componentPackageHasPackages" abstract="true" type="ComponentPackageHasPackages" />
  <xsd:complexType name="ComponentPackageHasPackages" abstract="true" >
    <xsd:sequence minOccurs="0" maxOccurs="1">
      <!-- Target end ComponentPackage -->
      <xsd:element ref="componentPackage" minOccurs="1" maxOccurs="1">
        <xsd:annotation>
          <xsd:documentation>[Target role-player]</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  
  <!-- ComponentPackageHasPackages Moniker -->
  <xsd:element name="componentPackageHasPackagesMoniker" abstract="true" type="ComponentPackageHasPackagesMoniker" />
  <xsd:complexType name="ComponentPackageHasPackagesMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for ComponentPackageHasPackages instance.</xsd:documentation>
    </xsd:annotation>
  </xsd:complexType>
  
  <!-- DefinitionsHasFileSets -->
  <xsd:element name="definitionsHasFileSets" abstract="true" type="DefinitionsHasFileSets" />
  <xsd:complexType name="DefinitionsHasFileSets" abstract="true" >
    <xsd:sequence minOccurs="0" maxOccurs="1">
      <!-- Target end FileSet -->
      <xsd:element ref="fileSet" minOccurs="1" maxOccurs="1">
        <xsd:annotation>
          <xsd:documentation>[Target role-player]</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  
  <!-- DefinitionsHasFileSets Moniker -->
  <xsd:element name="definitionsHasFileSetsMoniker" abstract="true" type="DefinitionsHasFileSetsMoniker" />
  <xsd:complexType name="DefinitionsHasFileSetsMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for DefinitionsHasFileSets instance.</xsd:documentation>
    </xsd:annotation>
  </xsd:complexType>
  
  <!-- DefinitionsHasFileActions -->
  <xsd:element name="definitionsHasFileActions" abstract="true" type="DefinitionsHasFileActions" />
  <xsd:complexType name="DefinitionsHasFileActions" abstract="true" >
    <xsd:sequence minOccurs="0" maxOccurs="1">
      <!-- Target end FileAction -->
      <xsd:element ref="fileAction" minOccurs="1" maxOccurs="1">
        <xsd:annotation>
          <xsd:documentation>[Target role-player]</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  
  <!-- DefinitionsHasFileActions Moniker -->
  <xsd:element name="definitionsHasFileActionsMoniker" abstract="true" type="DefinitionsHasFileActionsMoniker" />
  <xsd:complexType name="DefinitionsHasFileActionsMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for DefinitionsHasFileActions instance.</xsd:documentation>
    </xsd:annotation>
  </xsd:complexType>
  
  <!-- InstallerPackageModelHasDefinitions -->
  <xsd:element name="installerPackageModelHasDefinitions" abstract="true" type="InstallerPackageModelHasDefinitions" />
  <xsd:complexType name="InstallerPackageModelHasDefinitions" abstract="true" >
    <xsd:sequence minOccurs="0" maxOccurs="1">
      <!-- Target end Definitions -->
      <xsd:element ref="definitions" minOccurs="1" maxOccurs="1">
        <xsd:annotation>
          <xsd:documentation>[Target role-player]</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  
  <!-- InstallerPackageModelHasDefinitions Moniker -->
  <xsd:element name="installerPackageModelHasDefinitionsMoniker" abstract="true" type="InstallerPackageModelHasDefinitionsMoniker" />
  <xsd:complexType name="InstallerPackageModelHasDefinitionsMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for InstallerPackageModelHasDefinitions instance.</xsd:documentation>
    </xsd:annotation>
  </xsd:complexType>
  
  <!-- FileActionReferencesFileSet -->
  <xsd:element name="fileActionReferencesFileSet" abstract="true" type="FileActionReferencesFileSet" />
  <xsd:complexType name="FileActionReferencesFileSet" abstract="true" >
    <xsd:sequence minOccurs="0" maxOccurs="1">
      <!-- Target end FileSet -->
      <xsd:element ref="fileSetMoniker" minOccurs="1" maxOccurs="1">
        <xsd:annotation>
          <xsd:documentation>[Target role-player]</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  
  <!-- FileActionReferencesFileSet Moniker -->
  <xsd:element name="fileActionReferencesFileSetMoniker" abstract="true" type="FileActionReferencesFileSetMoniker" />
  <xsd:complexType name="FileActionReferencesFileSetMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for FileActionReferencesFileSet instance.</xsd:documentation>
    </xsd:annotation>
  </xsd:complexType>
  
  <!-- FolderSourceReferencesFileSet -->
  <xsd:element name="folderSourceReferencesFileSet" abstract="true" type="FolderSourceReferencesFileSet" />
  <xsd:complexType name="FolderSourceReferencesFileSet" abstract="true" >
    <xsd:sequence minOccurs="0" maxOccurs="1">
      <!-- Target end FileSet -->
      <xsd:element ref="fileSetMoniker" minOccurs="1" maxOccurs="1">
        <xsd:annotation>
          <xsd:documentation>[Target role-player]</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  
  <!-- FolderSourceReferencesFileSet Moniker -->
  <xsd:element name="folderSourceReferencesFileSetMoniker" abstract="true" type="FolderSourceReferencesFileSetMoniker" />
  <xsd:complexType name="FolderSourceReferencesFileSetMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for FolderSourceReferencesFileSet instance.</xsd:documentation>
    </xsd:annotation>
  </xsd:complexType>
  
  <!-- ComponentFileSourceReferencesFileActions -->
  <xsd:element name="componentFileSourceReferencesFileActions" abstract="true" type="ComponentFileSourceReferencesFileActions" />
  <xsd:complexType name="ComponentFileSourceReferencesFileActions" abstract="true" >
    <xsd:sequence minOccurs="0" maxOccurs="1">
      <!-- Target end FileAction -->
      <xsd:element ref="fileActionMoniker" minOccurs="1" maxOccurs="1">
        <xsd:annotation>
          <xsd:documentation>[Target role-player]</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
    <!-- Id -->
    <xsd:attribute name="Id" type="xsd:string">
      <xsd:annotation>
        <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
      </xsd:annotation>
    </xsd:attribute>
  </xsd:complexType>
  
  <!-- ComponentFileSourceReferencesFileActions Moniker -->
  <xsd:element name="componentFileSourceReferencesFileActionsMoniker" type="ComponentFileSourceReferencesFileActionsMoniker" />
  <xsd:complexType name="ComponentFileSourceReferencesFileActionsMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for ComponentFileSourceReferencesFileActions instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:attribute name="Id" type="xsd:string" >
      <xsd:annotation>
        <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
      </xsd:annotation>
    </xsd:attribute>
  </xsd:complexType>
  
  <!-- ComponentFileSourceReferencesPermanentFileSet -->
  <xsd:element name="componentFileSourceReferencesPermanentFileSet" abstract="true" type="ComponentFileSourceReferencesPermanentFileSet" />
  <xsd:complexType name="ComponentFileSourceReferencesPermanentFileSet" abstract="true" >
    <xsd:sequence minOccurs="0" maxOccurs="1">
      <!-- Target end FileSet -->
      <xsd:element ref="fileSetMoniker" minOccurs="1" maxOccurs="1">
        <xsd:annotation>
          <xsd:documentation>[Target role-player]</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  
  <!-- ComponentFileSourceReferencesPermanentFileSet Moniker -->
  <xsd:element name="componentFileSourceReferencesPermanentFileSetMoniker" abstract="true" type="ComponentFileSourceReferencesPermanentFileSetMoniker" />
  <xsd:complexType name="ComponentFileSourceReferencesPermanentFileSetMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for ComponentFileSourceReferencesPermanentFileSet instance.</xsd:documentation>
    </xsd:annotation>
  </xsd:complexType>
  
  <!-- ComponentFileSourceReferencesInstallUtilFileSet -->
  <xsd:element name="componentFileSourceReferencesInstallUtilFileSet" abstract="true" type="ComponentFileSourceReferencesInstallUtilFileSet" />
  <xsd:complexType name="ComponentFileSourceReferencesInstallUtilFileSet" abstract="true" >
    <xsd:sequence minOccurs="0" maxOccurs="1">
      <!-- Target end FileSet -->
      <xsd:element ref="fileSetMoniker" minOccurs="1" maxOccurs="1">
        <xsd:annotation>
          <xsd:documentation>[Target role-player]</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  
  <!-- ComponentFileSourceReferencesInstallUtilFileSet Moniker -->
  <xsd:element name="componentFileSourceReferencesInstallUtilFileSetMoniker" abstract="true" type="ComponentFileSourceReferencesInstallUtilFileSetMoniker" />
  <xsd:complexType name="ComponentFileSourceReferencesInstallUtilFileSetMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for ComponentFileSourceReferencesInstallUtilFileSet instance.</xsd:documentation>
    </xsd:annotation>
  </xsd:complexType>
  
  <!-- ComponentFileSourceReferencesGacFileSet -->
  <xsd:element name="componentFileSourceReferencesGacFileSet" abstract="true" type="ComponentFileSourceReferencesGacFileSet" />
  <xsd:complexType name="ComponentFileSourceReferencesGacFileSet" abstract="true" >
    <xsd:sequence minOccurs="0" maxOccurs="1">
      <!-- Target end FileSet -->
      <xsd:element ref="fileSetMoniker" minOccurs="1" maxOccurs="1">
        <xsd:annotation>
          <xsd:documentation>[Target role-player]</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  
  <!-- ComponentFileSourceReferencesGacFileSet Moniker -->
  <xsd:element name="componentFileSourceReferencesGacFileSetMoniker" abstract="true" type="ComponentFileSourceReferencesGacFileSetMoniker" />
  <xsd:complexType name="ComponentFileSourceReferencesGacFileSetMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for ComponentFileSourceReferencesGacFileSet instance.</xsd:documentation>
    </xsd:annotation>
  </xsd:complexType>
  
  <!-- DefinitionsHasTokens -->
  <xsd:element name="definitionsHasTokens" abstract="true" type="DefinitionsHasTokens" />
  <xsd:complexType name="DefinitionsHasTokens" abstract="true" >
    <xsd:sequence minOccurs="0" maxOccurs="1">
      <!-- Target end TokenValue -->
      <xsd:element ref="tokenValue" minOccurs="1" maxOccurs="1">
        <xsd:annotation>
          <xsd:documentation>[Target role-player]</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  
  <!-- DefinitionsHasTokens Moniker -->
  <xsd:element name="definitionsHasTokensMoniker" abstract="true" type="DefinitionsHasTokensMoniker" />
  <xsd:complexType name="DefinitionsHasTokensMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for DefinitionsHasTokens instance.</xsd:documentation>
    </xsd:annotation>
  </xsd:complexType>
  
  <!-- DefinitionsHasXPaths -->
  <xsd:element name="definitionsHasXPaths" abstract="true" type="DefinitionsHasXPaths" />
  <xsd:complexType name="DefinitionsHasXPaths" abstract="true" >
    <xsd:sequence minOccurs="0" maxOccurs="1">
      <!-- Target end XPathValue -->
      <xsd:element ref="xPathValue" minOccurs="1" maxOccurs="1">
        <xsd:annotation>
          <xsd:documentation>[Target role-player]</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  
  <!-- DefinitionsHasXPaths Moniker -->
  <xsd:element name="definitionsHasXPathsMoniker" abstract="true" type="DefinitionsHasXPathsMoniker" />
  <xsd:complexType name="DefinitionsHasXPathsMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for DefinitionsHasXPaths instance.</xsd:documentation>
    </xsd:annotation>
  </xsd:complexType>
  
  <!-- XPathReplacementReferencesXPaths -->
  <xsd:element name="xPathReplacementReferencesXPaths" abstract="true" type="XPathReplacementReferencesXPaths" />
  <xsd:complexType name="XPathReplacementReferencesXPaths" abstract="true" >
    <xsd:sequence minOccurs="0" maxOccurs="1">
      <!-- Target end XPathValue -->
      <xsd:element ref="xPathValueMoniker" minOccurs="1" maxOccurs="1">
        <xsd:annotation>
          <xsd:documentation>[Target role-player]</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  
  <!-- XPathReplacementReferencesXPaths Moniker -->
  <xsd:element name="xPathReplacementReferencesXPathsMoniker" abstract="true" type="XPathReplacementReferencesXPathsMoniker" />
  <xsd:complexType name="XPathReplacementReferencesXPathsMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for XPathReplacementReferencesXPaths instance.</xsd:documentation>
    </xsd:annotation>
  </xsd:complexType>
  
  <!-- TockenReplacementReferencesTokens -->
  <xsd:element name="tockenReplacementReferencesTokens" abstract="true" type="TockenReplacementReferencesTokens" />
  <xsd:complexType name="TockenReplacementReferencesTokens" abstract="true" >
    <xsd:sequence minOccurs="0" maxOccurs="1">
      <!-- Target end TokenValue -->
      <xsd:element ref="tokenValueMoniker" minOccurs="1" maxOccurs="1">
        <xsd:annotation>
          <xsd:documentation>[Target role-player]</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  
  <!-- TockenReplacementReferencesTokens Moniker -->
  <xsd:element name="tockenReplacementReferencesTokensMoniker" abstract="true" type="TockenReplacementReferencesTokensMoniker" />
  <xsd:complexType name="TockenReplacementReferencesTokensMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for TockenReplacementReferencesTokens instance.</xsd:documentation>
    </xsd:annotation>
  </xsd:complexType>
  
  <!-- DefinitionsHasVirtualDirectoryProperties -->
  <xsd:element name="definitionsHasVirtualDirectoryProperties" abstract="true" type="DefinitionsHasVirtualDirectoryProperties" />
  <xsd:complexType name="DefinitionsHasVirtualDirectoryProperties" abstract="true" >
    <xsd:sequence minOccurs="0" maxOccurs="1">
      <!-- Target end VirtualDirectoryProperties -->
      <xsd:element ref="virtualDirectoryProperties" minOccurs="1" maxOccurs="1">
        <xsd:annotation>
          <xsd:documentation>[Target role-player]</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  
  <!-- DefinitionsHasVirtualDirectoryProperties Moniker -->
  <xsd:element name="definitionsHasVirtualDirectoryPropertiesMoniker" abstract="true" type="DefinitionsHasVirtualDirectoryPropertiesMoniker" />
  <xsd:complexType name="DefinitionsHasVirtualDirectoryPropertiesMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for DefinitionsHasVirtualDirectoryProperties instance.</xsd:documentation>
    </xsd:annotation>
  </xsd:complexType>
  
  <!-- WebSiteReferencesDirProperties -->
  <xsd:element name="webSiteReferencesDirProperties" abstract="true" type="WebSiteReferencesDirProperties" />
  <xsd:complexType name="WebSiteReferencesDirProperties" abstract="true" >
    <xsd:sequence minOccurs="0" maxOccurs="1">
      <!-- Target end VirtualDirectoryProperties -->
      <xsd:element ref="virtualDirectoryPropertiesMoniker" minOccurs="1" maxOccurs="1">
        <xsd:annotation>
          <xsd:documentation>[Target role-player]</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  
  <!-- WebSiteReferencesDirProperties Moniker -->
  <xsd:element name="webSiteReferencesDirPropertiesMoniker" abstract="true" type="WebSiteReferencesDirPropertiesMoniker" />
  <xsd:complexType name="WebSiteReferencesDirPropertiesMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for WebSiteReferencesDirProperties instance.</xsd:documentation>
    </xsd:annotation>
  </xsd:complexType>
  
  <!-- DefinitionsHasMsiProperties -->
  <xsd:element name="definitionsHasMsiProperties" abstract="true" type="DefinitionsHasMsiProperties" />
  <xsd:complexType name="DefinitionsHasMsiProperties" abstract="true" >
    <xsd:sequence minOccurs="0" maxOccurs="1">
      <!-- Target end MsiProperty -->
      <xsd:element ref="msiProperty" minOccurs="1" maxOccurs="1">
        <xsd:annotation>
          <xsd:documentation>[Target role-player]</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  
  <!-- DefinitionsHasMsiProperties Moniker -->
  <xsd:element name="definitionsHasMsiPropertiesMoniker" abstract="true" type="DefinitionsHasMsiPropertiesMoniker" />
  <xsd:complexType name="DefinitionsHasMsiPropertiesMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for DefinitionsHasMsiProperties instance.</xsd:documentation>
    </xsd:annotation>
  </xsd:complexType>
  
  <!-- ComponentHasMsiProperty -->
  <xsd:element name="componentHasMsiProperty" abstract="true" type="ComponentHasMsiProperty" />
  <xsd:complexType name="ComponentHasMsiProperty" abstract="true" >
    <xsd:sequence minOccurs="0" maxOccurs="1">
      <!-- Target end MsiProperty -->
      <xsd:element ref="msiProperty" minOccurs="1" maxOccurs="1">
        <xsd:annotation>
          <xsd:documentation>[Target role-player]</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  
  <!-- ComponentHasMsiProperty Moniker -->
  <xsd:element name="componentHasMsiPropertyMoniker" abstract="true" type="ComponentHasMsiPropertyMoniker" />
  <xsd:complexType name="ComponentHasMsiPropertyMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for ComponentHasMsiProperty instance.</xsd:documentation>
    </xsd:annotation>
  </xsd:complexType>
  
  <!-- XPathValueReferencesProperty -->
  <xsd:element name="xPathValueReferencesProperty" abstract="true" type="XPathValueReferencesProperty" />
  <xsd:complexType name="XPathValueReferencesProperty" abstract="true" >
    <xsd:sequence minOccurs="0" maxOccurs="1">
      <!-- Target end MsiProperty -->
      <xsd:element ref="msiPropertyMoniker" minOccurs="1" maxOccurs="1">
        <xsd:annotation>
          <xsd:documentation>[Target role-player]</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  
  <!-- XPathValueReferencesProperty Moniker -->
  <xsd:element name="xPathValueReferencesPropertyMoniker" abstract="true" type="XPathValueReferencesPropertyMoniker" />
  <xsd:complexType name="XPathValueReferencesPropertyMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for XPathValueReferencesProperty instance.</xsd:documentation>
    </xsd:annotation>
  </xsd:complexType>
  
  <!-- TokenValueReferencesProperty -->
  <xsd:element name="tokenValueReferencesProperty" abstract="true" type="TokenValueReferencesProperty" />
  <xsd:complexType name="TokenValueReferencesProperty" abstract="true" >
    <xsd:sequence minOccurs="0" maxOccurs="1">
      <!-- Target end MsiProperty -->
      <xsd:element ref="msiPropertyMoniker" minOccurs="1" maxOccurs="1">
        <xsd:annotation>
          <xsd:documentation>[Target role-player]</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  
  <!-- TokenValueReferencesProperty Moniker -->
  <xsd:element name="tokenValueReferencesPropertyMoniker" abstract="true" type="TokenValueReferencesPropertyMoniker" />
  <xsd:complexType name="TokenValueReferencesPropertyMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for TokenValueReferencesProperty instance.</xsd:documentation>
    </xsd:annotation>
  </xsd:complexType>
  
  <!-- JavaWebContainerHasLibs -->
  <xsd:element name="javaWebContainerHasLibs" type="JavaWebContainerHasLibs" />
  <xsd:complexType name="JavaWebContainerHasLibs">
    <xsd:sequence minOccurs="0" maxOccurs="1">
      <!-- Target end FolderSource -->
      <xsd:element ref="folderSource" minOccurs="1" maxOccurs="1">
        <xsd:annotation>
          <xsd:documentation>[Target role-player]</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
    <!-- Property: Type -->
    <xsd:attribute name="type" type="WebContainerLibraryType" />
  </xsd:complexType>
  
  <!-- JavaWebContainerHasLibs Moniker -->
  <xsd:element name="javaWebContainerHasLibsMoniker" abstract="true" type="JavaWebContainerHasLibsMoniker" />
  <xsd:complexType name="JavaWebContainerHasLibsMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for JavaWebContainerHasLibs instance.</xsd:documentation>
    </xsd:annotation>
  </xsd:complexType>
  
  <!-- InstallerPackageModelHasApplicationHost -->
  <xsd:element name="installerPackageModelHasApplicationHost" abstract="true" type="InstallerPackageModelHasApplicationHost" />
  <xsd:complexType name="InstallerPackageModelHasApplicationHost" abstract="true" >
    <xsd:sequence minOccurs="0" maxOccurs="1">
      <!-- Target end ComponentHost -->
      <xsd:element ref="componentHost" minOccurs="1" maxOccurs="1">
        <xsd:annotation>
          <xsd:documentation>[Target role-player]</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  
  <!-- InstallerPackageModelHasApplicationHost Moniker -->
  <xsd:element name="installerPackageModelHasApplicationHostMoniker" abstract="true" type="InstallerPackageModelHasApplicationHostMoniker" />
  <xsd:complexType name="InstallerPackageModelHasApplicationHostMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for InstallerPackageModelHasApplicationHost instance.</xsd:documentation>
    </xsd:annotation>
  </xsd:complexType>
  
  <!-- IISHasAppPools -->
  <xsd:element name="iISHasAppPools" abstract="true" type="IISHasAppPools" />
  <xsd:complexType name="IISHasAppPools" abstract="true" >
    <xsd:sequence minOccurs="0" maxOccurs="1">
      <!-- Target end IISApplicationPool -->
      <xsd:element ref="iISApplicationPool" minOccurs="1" maxOccurs="1">
        <xsd:annotation>
          <xsd:documentation>[Target role-player]</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  
  <!-- IISHasAppPools Moniker -->
  <xsd:element name="iISHasAppPoolsMoniker" abstract="true" type="IISHasAppPoolsMoniker" />
  <xsd:complexType name="IISHasAppPoolsMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for IISHasAppPools instance.</xsd:documentation>
    </xsd:annotation>
  </xsd:complexType>
  
  <!-- IISHasWebSites -->
  <xsd:element name="iISHasWebSites" abstract="true" type="IISHasWebSites" />
  <xsd:complexType name="IISHasWebSites" abstract="true" >
    <xsd:sequence minOccurs="0" maxOccurs="1">
      <!-- Target end WebSite -->
      <xsd:element ref="webSite" minOccurs="1" maxOccurs="1">
        <xsd:annotation>
          <xsd:documentation>[Target role-player]</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  
  <!-- IISHasWebSites Moniker -->
  <xsd:element name="iISHasWebSitesMoniker" abstract="true" type="IISHasWebSitesMoniker" />
  <xsd:complexType name="IISHasWebSitesMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for IISHasWebSites instance.</xsd:documentation>
    </xsd:annotation>
  </xsd:complexType>
  
  <!-- Hosted -->
  <xsd:element name="hosted" abstract="true" type="Hosted" />
  <xsd:complexType name="Hosted" abstract="true" >
    <xsd:sequence minOccurs="0" maxOccurs="1">
      <!-- Target end ComponentHost -->
      <xsd:element ref="componentHostMoniker" minOccurs="1" maxOccurs="1">
        <xsd:annotation>
          <xsd:documentation>[Target role-player]</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
    <!-- Id -->
    <xsd:attribute name="Id" type="xsd:string">
      <xsd:annotation>
        <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
      </xsd:annotation>
    </xsd:attribute>
    <!-- Property: VirtualPath -->
    <xsd:attribute name="virtualPath" type="xsd:string" />
  </xsd:complexType>
  
  <!-- Hosted Moniker -->
  <xsd:element name="hostedMoniker" abstract="true" type="HostedMoniker" />
  <xsd:complexType name="HostedMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for Hosted instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:attribute name="Id" type="xsd:string" >
      <xsd:annotation>
        <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
      </xsd:annotation>
    </xsd:attribute>
  </xsd:complexType>
  
  <!-- IISHosted -->
  <xsd:element name="iISHosted" type="IISHosted" substitutionGroup="hosted" />
  <xsd:complexType name="IISHosted">
    <xsd:complexContent>
      <xsd:extension base="Hosted">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Relationship: IISHostedReferencesWebSite -->
          <xsd:choice minOccurs="1" maxOccurs="1" >
            <xsd:element ref="iISHostedReferencesWebSite">
              <xsd:annotation>
                <xsd:documentation>[Relationship deriving from IISHostedReferencesWebSite needs to be serialized in full-form]</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element ref="webSiteMoniker" >
              <xsd:annotation>
                <xsd:documentation>[Target role-player]</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:choice>
          <!-- Relationship: IISHostedReferencesVirtualDirectoryProperty -->
          <xsd:choice minOccurs="0" maxOccurs="1" >
            <xsd:element ref="iISHostedReferencesVirtualDirectoryProperty">
              <xsd:annotation>
                <xsd:documentation>[Relationship deriving from IISHostedReferencesVirtualDirectoryProperty needs to be serialized in full-form]</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element ref="virtualDirectoryPropertiesMoniker" >
              <xsd:annotation>
                <xsd:documentation>[Target role-player]</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:choice>
          <!-- Relationship: IISHostedReferencesAppPool -->
          <xsd:choice minOccurs="0" maxOccurs="1" >
            <xsd:element ref="iISHostedReferencesAppPool">
              <xsd:annotation>
                <xsd:documentation>[Relationship deriving from IISHostedReferencesAppPool needs to be serialized in full-form]</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element ref="iISApplicationPoolMoniker" >
              <xsd:annotation>
                <xsd:documentation>[Target role-player]</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:choice>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- IISHosted Moniker -->
  <xsd:element name="iISHostedMoniker" type="IISHostedMoniker" substitutionGroup="hostedMoniker" />
  <xsd:complexType name="IISHostedMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for IISHosted instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="HostedMoniker">
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- IISHostedReferencesWebSite -->
  <xsd:element name="iISHostedReferencesWebSite" abstract="true" type="IISHostedReferencesWebSite" />
  <xsd:complexType name="IISHostedReferencesWebSite" abstract="true" >
    <xsd:sequence minOccurs="0" maxOccurs="1">
      <!-- Target end WebSite -->
      <xsd:element ref="webSiteMoniker" minOccurs="1" maxOccurs="1">
        <xsd:annotation>
          <xsd:documentation>[Target role-player]</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  
  <!-- IISHostedReferencesWebSite Moniker -->
  <xsd:element name="iISHostedReferencesWebSiteMoniker" abstract="true" type="IISHostedReferencesWebSiteMoniker" />
  <xsd:complexType name="IISHostedReferencesWebSiteMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for IISHostedReferencesWebSite instance.</xsd:documentation>
    </xsd:annotation>
  </xsd:complexType>
  
  <!-- IISHostedReferencesVirtualDirectoryProperty -->
  <xsd:element name="iISHostedReferencesVirtualDirectoryProperty" abstract="true" type="IISHostedReferencesVirtualDirectoryProperty" />
  <xsd:complexType name="IISHostedReferencesVirtualDirectoryProperty" abstract="true" >
    <xsd:sequence minOccurs="0" maxOccurs="1">
      <!-- Target end VirtualDirectoryProperties -->
      <xsd:element ref="virtualDirectoryPropertiesMoniker" minOccurs="1" maxOccurs="1">
        <xsd:annotation>
          <xsd:documentation>[Target role-player]</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  
  <!-- IISHostedReferencesVirtualDirectoryProperty Moniker -->
  <xsd:element name="iISHostedReferencesVirtualDirectoryPropertyMoniker" abstract="true" type="IISHostedReferencesVirtualDirectoryPropertyMoniker" />
  <xsd:complexType name="IISHostedReferencesVirtualDirectoryPropertyMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for IISHostedReferencesVirtualDirectoryProperty instance.</xsd:documentation>
    </xsd:annotation>
  </xsd:complexType>
  
  <!-- IISHostedReferencesAppPool -->
  <xsd:element name="iISHostedReferencesAppPool" abstract="true" type="IISHostedReferencesAppPool" />
  <xsd:complexType name="IISHostedReferencesAppPool" abstract="true" >
    <xsd:sequence minOccurs="0" maxOccurs="1">
      <!-- Target end IISApplicationPool -->
      <xsd:element ref="iISApplicationPoolMoniker" minOccurs="1" maxOccurs="1">
        <xsd:annotation>
          <xsd:documentation>[Target role-player]</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  
  <!-- IISHostedReferencesAppPool Moniker -->
  <xsd:element name="iISHostedReferencesAppPoolMoniker" abstract="true" type="IISHostedReferencesAppPoolMoniker" />
  <xsd:complexType name="IISHostedReferencesAppPoolMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for IISHostedReferencesAppPool instance.</xsd:documentation>
    </xsd:annotation>
  </xsd:complexType>
  
  <!-- JavaWebHosted -->
  <xsd:element name="javaWebHosted" type="JavaWebHosted" substitutionGroup="hosted" />
  <xsd:complexType name="JavaWebHosted">
    <xsd:complexContent>
      <xsd:extension base="Hosted">
        <xsd:sequence minOccurs="0" maxOccurs="1">
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- JavaWebHosted Moniker -->
  <xsd:element name="javaWebHostedMoniker" type="JavaWebHostedMoniker" substitutionGroup="hostedMoniker" />
  <xsd:complexType name="JavaWebHostedMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for JavaWebHosted instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="HostedMoniker">
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- ComponentPackageHasSupportFiles -->
  <xsd:element name="componentPackageHasSupportFiles" abstract="true" type="ComponentPackageHasSupportFiles" substitutionGroup="componentPackageHasComponents" />
  <xsd:complexType name="ComponentPackageHasSupportFiles" abstract="true" >
    <xsd:complexContent>
      <xsd:extension base="ComponentPackageHasComponents">
        <xsd:sequence minOccurs="0" maxOccurs="1">
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- ComponentPackageHasSupportFiles Moniker -->
  <xsd:element name="componentPackageHasSupportFilesMoniker" abstract="true" type="ComponentPackageHasSupportFilesMoniker" substitutionGroup="componentPackageHasComponentsMoniker" />
  <xsd:complexType name="ComponentPackageHasSupportFilesMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for ComponentPackageHasSupportFiles instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="ComponentPackageHasComponentsMoniker">
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- ComponentPackageHasComponents -->
  <xsd:element name="componentPackageHasComponents" abstract="true" type="ComponentPackageHasComponents" />
  <xsd:complexType name="ComponentPackageHasComponents" abstract="true" >
    <xsd:sequence minOccurs="0" maxOccurs="1">
      <!-- Target end Component -->
      <xsd:element ref="component" minOccurs="1" maxOccurs="1">
        <xsd:annotation>
          <xsd:documentation>[Target role-player]</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  
  <!-- ComponentPackageHasComponents Moniker -->
  <xsd:element name="componentPackageHasComponentsMoniker" abstract="true" type="ComponentPackageHasComponentsMoniker" />
  <xsd:complexType name="ComponentPackageHasComponentsMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for ComponentPackageHasComponents instance.</xsd:documentation>
    </xsd:annotation>
  </xsd:complexType>
  
  <!-- ComponentPackageHasWindowsServices -->
  <xsd:element name="componentPackageHasWindowsServices" abstract="true" type="ComponentPackageHasWindowsServices" substitutionGroup="componentPackageHasComponents" />
  <xsd:complexType name="ComponentPackageHasWindowsServices" abstract="true" >
    <xsd:complexContent>
      <xsd:extension base="ComponentPackageHasComponents">
        <xsd:sequence minOccurs="0" maxOccurs="1">
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- ComponentPackageHasWindowsServices Moniker -->
  <xsd:element name="componentPackageHasWindowsServicesMoniker" abstract="true" type="ComponentPackageHasWindowsServicesMoniker" substitutionGroup="componentPackageHasComponentsMoniker" />
  <xsd:complexType name="ComponentPackageHasWindowsServicesMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for ComponentPackageHasWindowsServices instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="ComponentPackageHasComponentsMoniker">
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- Enum IISIsolationLevel -->
  <xsd:simpleType name="IISIsolationLevel">
    <xsd:restriction base="xsd:string">
      <xsd:enumeration value="high"/>
      <xsd:enumeration value="medium"/>
      <xsd:enumeration value="low"/>
    </xsd:restriction>
  </xsd:simpleType>
  
  <!-- Enum WebContainerLibraryType -->
  <xsd:simpleType name="WebContainerLibraryType">
    <xsd:restriction base="xsd:string">
      <xsd:enumeration value="shared"/>
      <xsd:enumeration value="common"/>
    </xsd:restriction>
  </xsd:simpleType>
  
  <!-- Enum IdentityType -->
  <xsd:simpleType name="IdentityType">
    <xsd:restriction base="xsd:string">
      <xsd:enumeration value="other"/>
      <xsd:enumeration value="networkService"/>
      <xsd:enumeration value="localSystem"/>
      <xsd:enumeration value="localService"/>
    </xsd:restriction>
  </xsd:simpleType>
  
  <!-- Enum WindowsApplicationTypes -->
  <xsd:simpleType name="WindowsApplicationTypes">
    <xsd:restriction base="xsd:string">
      <xsd:enumeration value="WindowsService"/>
      <xsd:enumeration value="Desktop"/>
    </xsd:restriction>
  </xsd:simpleType>
  
  <!-- Enum ServiceStartType -->
  <xsd:simpleType name="ServiceStartType">
    <xsd:restriction base="xsd:string">
      <xsd:enumeration value="Auto"/>
      <xsd:enumeration value="Demand"/>
      <xsd:enumeration value="Disable"/>
    </xsd:restriction>
  </xsd:simpleType>
  
</xsd:schema>

